Linux之smartctl命令磁盘检测运维 您所在的位置:网站首页 错误G3 读取磁盘信息 Linux之smartctl命令磁盘检测运维

Linux之smartctl命令磁盘检测运维

2024-05-27 00:47| 来源: 网络整理| 查看: 265

知识介绍

SMART是一种磁盘自我分析检测技术,早在90年代末就基本得到了普及 每一块硬盘(包括IDE、SCSI)在运行的时候,都会将自身的若干参数记录下来 这些参数包括型号、容量、温度、密度、扇区、寻道时间、传输、误码率等 硬盘运行了几千小时后,很多内在的物理参数都会发生变化 某一参数超过报警阈值,则说明硬盘接近损坏 此时硬盘依然在工作,如果用户不理睬这个报警继续使用 那么硬盘将变得非常不可靠,随时可能故障

启用SMART SMART是和主板BIOS上相应功能配合的 要使用SMART,必须先进入到主板BIOS设置里边启动相关设置 一般从Pentium2级别起的主板,都支持SMART BIOS启动以后,就是操作系统级别的事情了 很遗憾,Windows没有内置SMART相关工具(需要安装第三方工具软件) 好在Linux上很早就有了SMART支持了 如果把Linux装在VMware等虚拟机上,在系统启动时候可以看到有个服务启动报错:smartd 这个服务器就是smart的daemon进程(因为vmware虚拟机的硬盘不支持SMART,所以报错)

grep"error" /var/log/messages*

常用命令

1、smartctl -a :显示硬盘SMART的全部信息。检查该设备是否已经打开SMART技术。

2、smartctl -H :查看硬盘的健康状况。一般看不出来问题,没啥用。

3、smartctl -l selftest :显示硬盘测试信息。

4、smartctl -l error :显示硬盘历史错误信息。

5、smartctl -A :显示设备SMART厂商属性和值。

6、对硬盘进行检测 手工对硬盘进行测试的方法有以下四种: smartctl -t short 后台检测硬盘,消耗时间短 smartctl -t long 后台检测硬盘,消耗时间长 smartctl -C -t short 前台检测硬盘,消耗时间短 smartctl -C -t long 前台检测硬盘,消耗时间长

其实就是利用硬盘SMART的自检程序。此时可以用smartctl -X中断后台测试。

7、smartctl -i :显示设备的身份信息,检查硬盘是否打开了SMART支持。 看到有:SMART support is: Enabled,说明硬盘支持SMART。 如果为Disabled,使用:smartctl --smart=on --offlineauto=on --saveauto=on ,启用SMART。

8、smartctl -s on     如果没有打开SMART技术,使用该命令打开SMART技术。

处理过程

首先通过smartctl -H /dev/sda检查磁盘健康状态,然后smartctl -a /dev/sda查看磁盘详细情况,再对磁盘进行短期测试smartctl -t short /dev/sda,最后查看磁盘测试结果smartctl -l selftest /dev/sda,基本磁盘健康状态就可以定位出来,最后检查磁盘错误日志smartctl -l error /dev/sdb

查看测试结果

# smartctl -a /dev/sda smartctl 5.42 2011-10-20 r3458 [x86_64-linux-2.6.32-358.el6.x86_64] (local build) Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net === START OF INFORMATION SECTION === Device Model: KINGSTON SV300S37A60G Serial Number: 50026B724A01E182 LU WWN Device Id: 5 0026b7 24a01e182 Firmware Version: 580ABBF0 User Capacity: 60,022,480,896 bytes [60.0 GB] Sector Size: 512 bytes logical/physical Device is: Not in smartctl database [for details use: -P showall] ATA Version is: 8 ATA Standard is: ACS-2 revision 3 Local Time is: Wed Oct 11 15:41:49 2017 CST SMART support is: Available - device has SMART capability. SMART support is: Enabled === START OF READ SMART DATA SECTION === SMART overall-health self-assessment test result: PASSED General SMART Values: Offline data collection status: (0x02) Offline data collection activity was completed without error. Auto Offline Data Collection: Disabled. Self-test execution status: ( 0) The previous self-test routine completed without error or no self-test has ever been run. Total time to complete Offline data collection: ( 0) seconds. Offline data collection capabilities: (0x7d) SMART execute Offline immediate. No Auto Offline data collection support. Abort Offline collection upon new command. Offline surface scan supported. Self-test supported. Conveyance Self-test supported. Selective Self-test supported. SMART capabilities: (0x0003) Saves SMART data before entering power-saving mode. Supports SMART auto save timer. Error logging capability: (0x01) Error logging supported. General Purpose Logging supported. Short self-test routine recommended polling time: ( 1) minutes. Extended self-test routine recommended polling time: ( 48) minutes. Conveyance self-test routine recommended polling time: ( 2) minutes. SCT capabilities: (0x0025) SCT Status supported. SCT Data Table supported. SMART Attributes Data Structure revision number: 10 Vendor Specific SMART Attributes with Thresholds: ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE 1 Raw_Read_Error_Rate 0x0032 095 095 050 Old_age Always - 8601004262 5 Reallocated_Sector_Ct 0x0033 099 099 003 Pre-fail Always - 0 9 Power_On_Hours 0x0032 085 085 000 Old_age Always - 145066815403100 12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 120 171 Unknown_Attribute 0x000a 100 100 000 Old_age Always - 0 172 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 0 174 Unknown_Attribute 0x0030 000 000 000 Old_age Offline - 97 177 Wear_Leveling_Count 0x0000 000 000 000 Old_age Offline - 96 181 Program_Fail_Cnt_Total 0x000a 100 100 000 Old_age Always - 0 182 Erase_Fail_Count_Total 0x0032 100 100 000 Old_age Always - 0 187 Reported_Uncorrect 0x0012 100 100 000 Old_age Always - 0 189 High_Fly_Writes 0x0000 029 041 000 Old_age Offline - 77312098333 194 Temperature_Celsius 0x0022 029 041 000 Old_age Always - 29 (Min/Max 18/41) 195 Hardware_ECC_Recovered 0x001c 102 102 000 Old_age Offline - 8601004262 196 Reallocated_Event_Count 0x0033 099 099 003 Pre-fail Always - 0 201 Soft_Read_Error_Rate 0x001c 102 102 000 Old_age Offline - 8601004262 204 Soft_ECC_Correction 0x001c 102 102 000 Old_age Offline - 8601004262 230 Head_Amplitude 0x0013 100 100 000 Pre-fail Always - 100 231 Temperature_Celsius 0x0013 091 091 010 Pre-fail Always - 0 233 Media_Wearout_Indicator 0x0032 000 000 000 Old_age Always - 9261 234 Unknown_Attribute 0x0032 000 000 000 Old_age Always - 14820 241 Total_LBAs_Written 0x0032 000 000 000 Old_age Always - 14820 242 Total_LBAs_Read 0x0032 000 000 000 Old_age Always - 6033 SMART Error Log not supported SMART Self-test log structure revision number 1 Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error # 1 Short offline Completed without error 00% 13404 - # 2 Selective offline Completed without error 00% 13404 - # 3 Selective offline Completed without error 00% 13404 - # 4 Selective offline Completed without error 00% 13404 - # 5 Short offline Completed without error 00% 13403 - SMART Selective self-test log data structure revision number 1 SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS 1 0 10 Not_testing 2 10 20 Not_testing 3 0 0 Not_testing 4 0 0 Not_testing 5 0 0 Not_testing Selective self-test flags (0x0): After scanning selected spans, do NOT read-scan remainder of disk. If Selective self-test is pending on power-up, resume after 0 minute delay.

FLAG是标记,WHEN_FAILED 代表错误信息,上面显示的WHEN_FAILED纵行是空行,说明硬盘没有故障。如果WHEN_FAILED显示数字,表明硬盘磁道可能有比较大的坏道。 1、read error rate 错误读取率:记录读取数据错误次数(累计),非0值表示硬盘已经或者可能即将发生坏道;

2、Reallocated_Sector_Ct  出厂后产生的坏块个数, 初始值为100,如果有坏块,从1开始增加,每4个坏块增加1

2、reallocated sectors count 重分配扇区计数:硬盘生产过程中,有一部分扇区是保留的。当一些普通扇区读/写/验证错误,则重新映射到保留扇区,挂起该异常扇区,并增加计数。随着计数增加,io性能骤降。如果数值不为0,就需要密切关注硬盘健康状况;如果持续攀升,则硬盘已经损坏;如果重分配扇区数超过保留扇区数,将不可修复;

3、power-on time 累计通电时间:指硬盘通电时间累计值。(单位:天/时/分/秒。休眠/挂起不计入?新购入的硬盘应小于100hrs);

4、power cycle count 电源开关计数:每次加电增加一次计数,新硬盘应小于10次;

5、temperature 温度:没嘛好说的,硬盘温度而已,理论上比工作环境高不了几度。(sudo hddtemp /dev/sda)

6、reallocetion event count 重映射扇区操作次数:上边的重映射扇区还记得吧?这个就是操作次数,成功的,失败的都计数。成功好说,也许硬盘有救,失败了,也许硬盘就要报废了;

7、throughput performance 磁盘吞吐量:平均吞吐性能(一般在进行了人工 Offline S.M.A.R.T. 测试以后才会有值。);

spinup time 主轴电机到达要求转速时间(毫秒/秒);

start/stop count 电机启动/停止次数(可以当作开机/关机次数,或者休眠后恢复,均增加一次计数。全新的硬盘应该小于10);

reallocated sectors count 重分配扇区计数:硬盘生产过程中,有一部分扇区是保留的。当一些普通扇区读/写/验证错误,则重新映射到保留扇区,挂起该异常扇区,并增加计数。随着计数增加,io性能骤降。如果数值不为0,就需要密切关注硬盘健康状况;如果持续攀升,则硬盘已经损坏;如果重分配扇区数超过保留扇区数,将不可修复;

seek error rate 寻道错误率:磁头定位错误一次,则技术增加一次。如果持续攀升,则可能是机械部分即将发生故障;

seek timer performance 寻道时间:寻道所需要的时间,越短则读取数据越快,但是如果时间增加,则可能机械部分即将发生故障;

power-on time 累计通电时间:指硬盘通电时间累计值。(单位:天/时/分/秒。休眠/挂起不计入?新购入的硬盘应小于100hrs);

spinup retry count 电机启动失败计数:电机启动到指定转速失败的累计数值。如果失败,则可能是动力系统产生故障;

power cycle count 电源开关计数:每次加电增加一次计数,新硬盘应小于10次;

g-sensor error rate 坠落计数:异常加速度(例如坠落,抛掷)计数——磁头会立即回到landing zone,并增加一次计数;

power-off retract count 异常断电次数:磁头在断电前没有完全回到landing zone的次数,每次异常断电则增加一次计数;

load/unload cycle count 磁头归位次数:指工作时,磁头每次回归landing zone的次数。(ps:流言说某个linux系统——不点名,在使用电池时候,会不断强制磁头归为,而磁头归位次数最大值约为600k次,所以认为linux会损坏硬盘,实际上不是这样的);

reallocetion event count 重映射扇区操作次数:上边的重映射扇区还记得吧?这个就是操作次数,成功的,失败的都计数。成功好说,也许硬盘有救,失败了,也许硬盘就要报废了;

current pending sector count 待映射扇区数:出现异常的扇区数量,待被映射的扇区数量。 如果该异常扇区之后成功读写,则计数会减小,扇区也不会重新映射。读错误不会重新映射,只有写错误才会重新映射;

uncorrectable sector count 不可修复扇区数:所有读/写错误计数,非0就证明有坏道,硬盘报废;

SSD固态硬盘多出的Attributes 信息解释:

其中我们比较关注的有以下四点:

1、Media_Wearout_Indicator:    使用耗费,100为没有任何耗费; 表示SSD上NAND的擦写次数的程度,初始值为100,随着擦写次数的增加,开始线性递减,递减速度按照擦写次数从0到最大的比例。一旦这个值降低到 1,就不再降了,同时表示SSD上面已经有NAND的擦写次数到达了最大次数。这个时候建议需要备份数据,以及更换SSD。

上面的机器为099,按照100滴血算,目前只耗了1滴血

2、Reallocated_Sector_Ct: 出厂后产生的坏块个数, 初始值为100,如果有坏块,从1开始增加,每4个坏块增加1

这里offer的机器还没有任何坏块

3、Host_Writes_32MiB: 已写32MiB, 每写入65536个扇区raw value增加1。这个扇区还是个数量单位,512字节

比如:这块盘就是 1284966 * 65536 * 512 = 40155.1875 GB

注意到每个机器都有一块盘写的比较少,这块盘就是hotspare盘。

每台机器我们有7块ssd盘。其中6块盘做的raid 5,第7块盘做的hotspare。

4、Available_Reservd_Space: SSD上剩余的保留空间, 初始值为100,表示100%,阀值为10,递减到10表示保留空间已经不能再减少 ----------------------------------- smartctl 输出详解 https://blog.51cto.com/wenqiang/1434581

作者:上善若水_001 链接:https://www.jianshu.com/p/da26137065d9 来源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有